package com.biz.primus.model.order.coupon.vo.consume;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;

import java.io.Serializable;

/**
 * 促销清单表
 *
 * @author Tiger Feng
 * @date 2017年11月16日
 */
@Data
public class PopDetailVO implements Serializable {
    private static final long serialVersionUID = -4216848934258565302L;
    // 明细模式 0-商品已执行的促销明细 1-商品未执行的促销活动
    @JsonProperty("pop_mode")
    private ModeEnum mode;
    // 促销ID
    @JsonProperty("pop_seqno")
    private Long seqNo;
    // 促销活动业务单号
    @JsonProperty("pop_event_billid")
    private String eventBillId;
    // 促销活动ID
    @JsonProperty("pop_event_id")
    private Long eventId;
    // 促销活动级别
    @JsonProperty("pop_event_level")
    private Long eventLevel;
    // 促销策略ID
    @JsonProperty("pop_policy_id")
    private Long policyId;
    // 促销策略类型
    @JsonProperty("pop_policy_type")
    private String policyType;
    // 促销策略分组
    @JsonProperty("pop_policy_group")
    private String policyGroup;
    // 促销符号
    @JsonProperty("pop_policy_symbol")
    private String policySymbol;
    // 组合促销描述
    @JsonProperty("pop_describe")
    private String describe;
    // 组合促销任选标志
    @JsonProperty("pop_select")
    private String select;
    // 活动排除的券种
    @JsonProperty("pop_coupon_exclude")
    private String couponExclude;
    // 折扣金额
    @JsonProperty("discount_amount")
    private Double discountAmount;
    // 折扣分摊比例（供应商承担部分）
    @JsonProperty("discount_share")
    private Double discountShare;
    // 活动档期ID
    @JsonProperty("pop_event_scd")
    private Long eventScd;
    // 活动档期名称
    @JsonProperty("pop_event_scd_name")
    private String eventScdName;
    // 活动策略备注
    @JsonProperty("pop_policy_memo")
    private String policyMemo;
    // 活动策略标签
    @JsonProperty("pop_policy_tag")
    private String pllicyTag;
    // 供应商扣款内容（POP_MEMO） fd_mode:3, popkk:100,….
    @JsonProperty("pop_memo")
    private String memo;
    // 促销活动单据类型
    @JsonProperty("pop_event_billtype")
    private String eventBillType;
    // 其中几个商品参加活动
    @JsonProperty("pop_qty")
    private Integer quantity;

    @AllArgsConstructor
    public  enum ModeEnum{
        //明细模式
        //0-商品已执行的促销明细
        //1-商品未执行的促销活动
        EXECUTE("0"),
        NON_EXECUTE("1"),
        ;
        private String value;
        @Override
        public String toString() {
            return value;
        }
    }
}